package com.accenture.adf.newcodington.module11.sample;

import com.accenture.adf.newcodington.module11.sample.Building;
import com.accenture.adf.newcodington.module11.sample.Event;

/**
 * Class Museum takes properties of BUILDING
 */
public class Museum extends Building {

	// Encapsulated data field for Museum
	private String[] museumActivities = { "" };

	/**
	 * Default constructor for Museum 
	 */
	public Museum() {
		museumActivities = new String[]{"DOLLS","ACTOR","SPORTS"};
		setMuseumEvents();
	}

	public String[] getMuseumEvents() {
		return museumActivities;
	}	

	/**
	 * Defining Museum Events by composing EVENT object for museum functionality
	 */
	public void setMuseumEvents() {		
		Event show1=new Event();
		show1.setEventName("ToyShow");
		show1.setEventType("Dance");
		show1.setDuration(5);
		show1.setDescription("1 minute show");		
		show1.setTicketPrice(100);
		
		setEvents(show1);		
	}

	// Method to display all the Events for the domain class
	public void showEvents() {
		Event scheduledEvent = getEvents();
		System.out
				.println("----------------- MUSEUM EVENT DETAILS -----------------");
		System.out.println("Name :" + scheduledEvent.getEventName());
		System.out.println("Type :" + scheduledEvent.getEventType());
		System.out.println("Duration :" + scheduledEvent.getDuration());
		System.out.println("Instructions:" + scheduledEvent.getDescription());
		System.out.println("Price :" + scheduledEvent.getTicketPrice());
		System.out
				.println("-------------------------------------------------\n\n");
	}

	/**
	 * Overriding method from Building class
	 * 
	 * @param size
	 */
	public void showArea(int size) {
		System.out.println("Museum area: " + size * 100);			
	}

}
